<?xml version='1.0' encoding='ISO-8859-1' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"           
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/pages/core/plantilla/plantillaPrincipal.xhtml">

        <ui:define name="contenido">     

            <h:form onsubmit="return checkSubmit();"  id="frmPrincipal">   


                <p:panel id="pnlBusqueda"  header="#{i18n['usuario.titulo']}" style="#{applicationMBean.estiloTitulo}">
                    <h:panelGrid id="pgFormFilter" columns="13" cellpadding="4">                        
                        <h:outputLabel value="#{i18n['general.label.id']}" styleClass="label"/>
                        <p:inputText value="#{usuarioMBean.dtoFiltro.id}" onkeypress="return fn_validaTecla('entero',this)" style="#{applicationMBean.estilo}" size="15">
                            <f:validateLongRange minimum="0" maximum="999999" />
                        </p:inputText>

                        <h:outputLabel value="#{i18n['usuario.descripcion']}" styleClass="label"/>
                        <p:inputText label="#{i18n['usuario.descripcion']}" 
                                     value="#{usuarioMBean.dtoFiltro.descripcion}" 
                                     size="50" style="#{applicationMBean.estilo}">
                            <f:validateLength maximum="100" minimum="0" />
                        </p:inputText>

                        <h:outputLabel value="#{i18n['usuario.login']}" styleClass="label"/>
                        <p:inputText label="#{i18n['usuario.login']}"  value="#{usuarioMBean.dtoFiltro.login}" 
                                     size="20" style="#{applicationMBean.estilo}">
                            <f:validateLength maximum="30" minimum="0" />
                        </p:inputText>         
                        <p:spacer width="10" />
                        <h:outputLabel value="#{i18n['usuario.rol']}" styleClass="label"/>
                         <p:selectOneMenu value="#{usuarioMBean.dtoFiltro.rolDto}"  converter="rolConvert"                                     
                                         style="#{applicationMBean.estiloObligatorio}"
                                         disabled="#{sessionMBean.accion == 3}">
                             <f:selectItems value="#{usuarioMBean.rolesActivosBusqueda}" var="dto" itemLabel="#{dto.descripcion}" itemValue="#{dto}" />
                            <f:ajax />
                        </p:selectOneMenu>
                        
                        <h:outputText  value="#{usuarioMBean.lista.size()} #{i18n['form.general.mensaje.cantidad.encontrada']}" styleClass="mensaje" rendered="#{usuarioMBean.lista!=null}"/>
                    </h:panelGrid>      
                    <f:facet name="footer">

                        <p:commandButton icon="ui-icon ui-icon-search"
                                         title="#{i18n['general.button.buscar.filtro.tip']}" accesskey="#{applicationMBean.keyBuscar}"
                                         value="#{i18n['general.button.buscar.filtro']}" ajax="false"   
                                         style="#{applicationMBean.estilosBtnBuscar}" 
                                         actionListener="#{usuarioMBean.buscar}"
                                         rendered="#{sessionMBean.privilegiosOpciones['1129']=='true'}">
                            <f:ajax  render="pnlTabla pgFormFilter"/>
                        </p:commandButton>  
                        <p:commandButton title="#{i18n['general.button.nuevo.tip']}" accesskey="#{applicationMBean.keyNuevo}" 
                                                     icon="ui-icon ui-icon-plus"
                                                     style="#{applicationMBean.estilosBtnNuevo}" 
                                                     value="#{i18n['general.button.nuevo']}" 
                                                     ajax="false"                                        
                                                     action="#{usuarioMBean.nuevo}"
                                                     rendered="#{sessionMBean.privilegiosOpciones['1130']=='true'}">                                    
                         </p:commandButton>
                        
                        <p:spacer width="20" />
                        <h:outputText  value="#{usuarioMBean.lista.size()} #{i18n['form.general.mensaje.cantidad.encontrada']}" styleClass="mensaje" rendered="#{usuarioMBean.lista!=null}"/>
                    </f:facet>
                    
                </p:panel>


                <p:panel id="pnlTabla" header="#{i18n['general.panel.titulo.busqueda.resultado']}" style="#{applicationMBean.estiloTitulo}">
                    <h:panelGrid columns="1">

                        <p:dataTable id="tblPrincipal" value="#{usuarioMBean.lista}" var="dto" paginatorPosition="top" styleClass="estiloPanel"    
                                     paginator="true" rows="#{sessionMBean.cantidadRegistros}"  widgetVar="widTable">                        
                            <p:column>
                                <p:commandButton icon="ui-icon ui-icon-search" title="#{i18n['general.button.ver.tip']}"
                                                 action="#{usuarioMBean.ver}" ajax="false"
                                                 rendered="#{sessionMBean.privilegiosOpciones['1131']=='true'}">
                                    <f:setPropertyActionListener value="#{dto}" target="#{usuarioMBean.dto}" />                                                                    
                                </p:commandButton>
                                
                                <p:commandButton icon="ui-icon ui-icon-pencil" title="#{i18n['general.button.editar.tip']}"
                                                 action="#{usuarioMBean.editar}" ajax="false"
                                                 rendered="#{sessionMBean.privilegiosOpciones['1132']=='true'}">
                                    <f:setPropertyActionListener value="#{dto}" target="#{usuarioMBean.dto}" />                                                                    
                                </p:commandButton>
                                
                                <p:commandButton icon="ui-icon ui-icon-shuffle" title="#{i18n['usuario.boton.tip.cambiar.contrasena']}"
                                                 action="#{usuarioMBean.formatearContrasena}" ajax="false"
                                                 rendered="#{sessionMBean.privilegiosOpciones['1133']=='true'}">
                                    <f:setPropertyActionListener value="#{dto}" target="#{usuarioMBean.dto}" />                                                                    
                                </p:commandButton>                               
                            </p:column>
                            <p:column headerText="#{i18n['general.label.id']}"  style="text-align:center;">
                                <h:outputText value="#{dto.id}" styleClass="general" />
                            </p:column>
                            <p:column headerText="#{i18n['usuario.descripcion']}">
                                <h:outputText value="#{dto.descripcion}" styleClass="general" />
                            </p:column>
                            <p:column headerText="#{i18n['usuario.login']}">
                                <h:outputText value="#{dto.login}" styleClass="general" />
                            </p:column>
                            <p:column headerText="#{i18n['usuario.email.laboral']}">
                                <h:outputText value="#{dto.emailLaboral}" styleClass="general" />
                            </p:column>
                            <p:column headerText="#{i18n['usuario.bloqueado']}">
                                <h:outputText value="#{dto.bloqueadoTexto}" styleClass="general" />
                            </p:column>
                            <p:column headerText="#{i18n['usuario.rol']}" >
                                <h:outputText value="#{dto.rolDto.descripcion}" styleClass="general" />
                            </p:column>

                            <p:column headerText="#{i18n['general.label.estado']}">
                                <h:outputText value="#{dto.estadoTexto}" styleClass="general"/>
                            </p:column>        
                        </p:dataTable>

                    </h:panelGrid>
                    
                </p:panel>

            </h:form>
           
        </ui:define>
    </ui:composition>
</html>
